<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>013number类型和算数运算符</title>
</head>

<body>
    <h1>013number类型和算数运算符</h1>
    <script>
        /*
            1 js数据类型
                基本数据类型
                    number
                    string
                    boolean
                    null
                    undefined
                    bigint
                    symbol

                引用数据类型
                    object(array, function, date, math等)

            2 动态语言和静态语言（动静是指：声明变量时是否需要明确指定其数据类型）
                动态语言：声明变量时不需要指定其数据类型，变量的数据类型是根据赋值的变化而动态变化。例如：js、php
                静态语言：声明变量时需要明确指定其数据类型。例如：java

            3 弱类型语言和强类型语言（强弱是指：在处理不同数据类型之间的运算时，隐式转换的程度）
                弱类型语言：允许不同数据类型之间的隐式转换，很宽松。例如：js、php
                强类型语言：基本不允许数据类型之间的隐式转换，会抛出错误。例如：java

            注意：动态语言不一定等同于弱类型语言，静态语言不一定等同于强类型语言。

            4 算数运算符
                +
                -
                *
                /
                % 用于判定整除

            5 算术运算符的优先级
                先乘除取余，后加减，()可以提升优先级。
                优先级相同时从左往右依次计算。

            6 一个特殊的number类型数字
                NaN 表示一个不正确的或者一个未定义的数学操作所得到的结果。
                NaN是由粘性的，任何针对NaN的操作都会返回NaN。
        */
        console.log('abc' - 1) // NaN
        console.log(NaN + 1) // NaN
    </script>
</body>

</html>